package com.goldcn.order.dao;

import com.goldcn.order.dto.BankSettleDto;
import com.goldcn.order.dto.BankSettleSelectDto;
import com.goldcn.order.dto.BankSettleSellerSelectDto;
import com.goldcn.order.model.OrderBankSettlement;
import com.goldcn.order.vo.BankSettleSelectVo;
import com.goldcn.order.vo.BankSettleSellerVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface OrderBankSettlementMapper {
    int deleteByPrimaryKey(Long id);

    int insert(OrderBankSettlement record);

    int insertSelective(OrderBankSettlement record);

    OrderBankSettlement selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(OrderBankSettlement record);

    int updateByPrimaryKey(OrderBankSettlement record);

    int insertBatch(List<OrderBankSettlement> orderBankSettlementList);

    int updateSettle(BankSettleDto bankSettleDto);

    Map<String,BigDecimal> selectByConditon(BankSettleSelectDto selectDto);

    List<BankSettleSelectVo> selectBranchList(BankSettleSelectDto selectDto);

    List<BankSettleSelectVo> selectTwoLevelList(BankSettleSelectDto selectDto);

    List<BankSettleSelectVo> selectSubList(BankSettleSelectDto selectDto);

    List<BankSettleSelectVo> selectSelfDept(BankSettleSelectDto selectDto);

    Map<String,BigDecimal> selectSettleTotal(BankSettleSelectDto selectDto);

    List<Map<String,Integer>> selectNotSettleYM(BankSettleSelectDto selectDto);

    int deleteByMonthRecord(@Param("year")Integer year,@Param("month")Integer month);

    List<BankSettleSellerVo> getSellerGroupList(BankSettleSellerSelectDto selectDto);
}